Error-correction codes (ECC) are important building blocks in the low layer of the open systems interconnection (OSI) model. Many communication channels are subject to channel noise, and thus errors may be introduced during transmission from a source to a receiver. Error-correction codes can correct the introduced errors and enable reliable delivery of digital data over such unreliable communication channels.
In the field of error-correction codes, the Reed-Solomon (RS) codes have a wide range of applications in digital communications and storage. RS codes are used to correct errors in many systems, including, storage devices, wireless or mobile communications, satellite communications, digital television, high-speed modems, etc. The number and types of errors that can be corrected depend on the characteristics of the RS codes.
Due to the complex nature of the RS codes, the encoding, and more particularly, the decoding of the RS codes consume considerable time and computational resources. The time consumed to decode a RS code generally increases with the correction power of the RS code. Continual demand for higher data rates and storage capacity makes high-speed implementations of RS decoders desirable.